There is often a need to capture the color of a sample and determine the closest match for the color of that sample from an existing database. For example, a user may want to find out the color of a wall or piece of furniture and search through the paint manufacturer's fan deck to identify the color. As an alternative to a tedious manual search, a colorimeter or a spectrophotometer is a more sophisticated tool to identify a color. However, such devices are both expensive and inconvenient to use. Furthermore, such specialty devices are unlikely to accompany a user on trips, scouting events or excursions.
Efforts have been made to use images taken with a camera to select color from a database. For example, U.S. Pat. No. 8,634,640 to Nina Bhatti et. al. (herein incorporated by reference as if presented in its entirety) teaches a method to select a color palette from a camera image, aided with a reference color chart. In that method, matrix transformations are used to convert images taken with an unknown illuminant to known illuminant, and thus eliminate the need of controlled illumination. However, since matrix transformations are linear operations, the method taught by Bhatti has strict requirements for the hardware used by the system. Additionally, the system taught by Bhatti is sensitive to noise, resulting in diminished performance under a wide range of operational conditions.
It has been known in the art to use Artificial Neural Networks (ANNs) to assist in color recognition. For example, U.S. Pat. No. 5,907,629, to Brian Vincent Funt et. al. (herein incorporated by reference as if presented in its entirety) teaches a method of estimating the chromaticity of illumination of a colored image consisting of a plurality of color-encoded pixels with a pre-trained neural network. However, such a system does not solve the problem associated with determining the color value of an unknown subject using a pre-trained Neural Network.
Thus, it will be helpful to have a system and a method that can utilize available cameras such as those in smartphones, to eliminate the need of controlled illumination, and have improved tolerance of nonlinearity and noise, learn and adapt to large user data sets. Therefore, what is needed in the art are systems, methods and computer program products for evaluating color values and searching for the same or various combinations thereof.